#pragma once
#include "plugin.h"


#ifdef IMAGECURATOR_EXPORTS
#define IMAGECURATOR_API __declspec(dllexport)
#else
#define IMAGECURATOR_API __declspec(dllimport)
#endif

class IMAGECURATOR_API ImageCurator 
{
public:
	ImageCurator(void);
	ImageCurator::~ImageCurator();

	const char *GetLibName(void) { return Plugin::Inst().GetProductName();	}				//VS_VERSION_INFO::ProductName
	const char *GetLibDescription(void) { return Plugin::Inst().GetDescription(); }			//VS_VERSION_INFO::FileDescription
	const char *GetLibVersion(void) { return Plugin::Inst().GetVersion(); }					//VS_VERSION_INFO::ProductVersion
	const char *GetLibOwnerName(void) { return Plugin::Inst().GetOwner();	}				//VS_VERSION_INFO::CompanyName
	const char *GetLibCopyrightNotice(void) { return Plugin::Inst().GetCopyrightNotice(); }	//VS_VERSION_INFO::LegalCopyright
	const char *GetLibInternalName() { return Plugin::Inst().GetProductID(); }				//VS_VERSION_INFO::Internal Name

	const char *GetLibSupportSite(void) { return "http://www.imagecurator.com";	}		
	const char *GetLibLicenseName(void) { return "New BSD Licence"; }								
	const char *GetLibLicenseURL(void)  { return "http://imagecurator.codeplex.com/license"; }	
	const wchar_t *GetLibPathFilename(void) { return Plugin::Inst().GetwPathFilename(); }	//filename returned by ::GetModuleFileName() of hModule in DllMain, DLL_PROCESS_ATTACH	

	static void CleanupOnAppExitOnly()	{ return Plugin::Inst().CleanupOnAppExitOnly(); }	//deletes all allocated memory (inst cannot be used after this call) - stops VS2012 reporting memory leaks before ~Plugin() is called; only call this if there's a problem

};


